home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / logs / logbook / oblast.prg < prev    next >
Text File  |  1990-05-04  |  6KB  |  196 lines

  1. *:*********************************************************************
  2. *:
  3. *:        Program: OBLAST.PRG
  4. *:
  5. *:         System: PC-HAM Logbook
  6. *:         Author: Joe Kasser G3ZCZ
  7. *:      Copyright (c) 1990, Joe Kasser
  8. *:  Last modified: 05/04/90     12:16
  9. *:
  10. *:      Called by: LOGAWARD.PRG                  
  11. *:
  12. *:          Calls: LOGCHNGE.PRG
  13. *:               : OBLASTENT.PRG
  14. *:
  15. *:           Uses: OBLAST.DBF     
  16. *:               : &OBLAST.DBF    
  17. *:
  18. *:      Documented 05/04/90 at 13:49                SNAP!  version 3.12f
  19. *:*********************************************************************
  20. STORE 192 TO oblastm
  21.  
  22. DO WHILE task <> '*'
  23.    CLEAR
  24.    SET COLOR TO W+/R,W+/RB,BG+
  25.    @ 5,11 SAY  'G3ZCZ OBLAST AWARD PACKAGE VERSION 1.7'
  26.    SET COLOR TO GR+/B,W+/RB,BG+
  27.    @ 7,1 SAY  'Default OBLAST database is'
  28.    SET COLOR TO W+/R,W+/RB,BG+
  29.    @ 7,30 SAY oblast
  30.    SET COLOR TO GR+/B,W+/RB,BG+
  31.    @ 8,1 SAY 'Default LOG database is'
  32.    SET COLOR TO W+/R,W+/RB,BG+
  33.    @ 8,30 SAY TRIM(logbook)
  34.    SET COLOR TO GR+/B,W+/RB,BG+
  35.    
  36.    @ 10,1 SAY 'UPDATE OBLAST RECORDS                         U'
  37.    @ 11,1 SAY 'CREATE A NEW OBLAST DATABASE                  C'
  38.    @ 12,1 SAY 'PRINT OBLAST RECORDS                          P'
  39.    @ 20,1 SAY 'QUIT THIS MENU                                *'
  40.    @ 13,1 SAY 'CHANGE OBLAST DATABASE                        D'
  41.    @ 14,1 SAY 'CHANGE LOGBOOK                                L'
  42.    @ 15,1 SAY 'DISPLAY FILES ON DISK DRIVE                   F'
  43.    @ 22,1 SAY 'QRU'
  44.    
  45.    @ 22,5 GET task
  46.    READ
  47.    
  48.    DO CASE
  49.       
  50.    CASE task ='F'
  51.       CLEAR
  52.       ACCEPT 'WHICH DRIVE ? ' TO diskdrive
  53.       diskdrive  = SUBSTR(diskdrive,1,1)
  54.       STORE diskdrive + ':' TO diskdrive
  55.       DISPLAY Files ON &diskdrive
  56.       RELEASE diskdrive
  57.       WAIT
  58.       
  59.    CASE task = 'L'
  60.       DO logchnge
  61.       
  62.    CASE task = 'C'
  63.       STORE 'OBLAST' TO boblast
  64.       IF FILE (boblast + '.DBF')
  65.          USE oblast
  66.          ACCEPT 'What is the name of the new OBLAST file ? ' TO oblast
  67.          IF FILE (oblast + '.DBF')
  68.             ? 'ERROR, OBLAST FILE ',oblast,' EXISTS ON DEFAULT DRIVE'
  69.             WAIT
  70.          ELSE
  71.             COPY STRUCTURE TO &oblast
  72.             USE &oblast
  73.             STORE '          ' TO BLANK
  74.             STORE 1 TO iteration
  75.             ? 'CREATING OBLAST FILE, please wait a few moments'
  76.             DO WHILE iteration < oblastm
  77.                APPEND BLANK
  78.                STORE iteration + 1 TO iteration
  79.             ENDDO
  80.             RELEASE BLANK,iteration
  81.             USE
  82.          ENDIF
  83.       ELSE
  84.          ? 'ERROR BLANK OBLAST FILE IS NOT ON DEFAULT DRIVE'
  85.          WAIT
  86.       ENDIF
  87.       RELEASE boblast
  88.       
  89.    CASE task = 'D'
  90.       @ 22,1 SAY "Which OBLAST file "
  91.       @ 22,25 GET oblast
  92.       READ
  93.       IF FILE (oblast + '.DBF')
  94.       ELSE
  95.          ? 'ERROR OBLAST FILE IS NOT ON DEFAULT DRIVE'
  96.          WAIT
  97.       ENDIF
  98.       
  99.    CASE task = 'U'
  100.       IF logbook = '      '
  101.          @ 23,1  SAY 'OPEN A LOGBOOK FIRST'
  102.       ELSE
  103.          IF oblast = 'OBLAST'
  104.             ? 'ERROR YOU CANNOT USE DEFAULT NAME, create a new one'
  105.             WAIT
  106.          ELSE
  107.             IF FILE (oblast + '.DBF')
  108.                DO oblastent
  109.             ELSE
  110.                ? 'ERROR OBLAST FILE IS NOT ON DEFAULT DRIVE'
  111.                WAIT
  112.             ENDIF
  113.          ENDIF
  114.       ENDIF
  115.       
  116.    CASE task = 'P'
  117.       IF FILE (oblast + '.DBF')
  118.          CLEAR
  119.          STORE ' ' TO choice
  120.          @ 5,1 SAY ' '
  121.          ACCEPT 'Whole thing, worked/QSL-d, or QSL-d (T,W,Q) ? ' TO choice
  122.          @ 10,1 SAY ' '
  123.          STORE ' ' TO df
  124.          ACCEPT 'DO you want hard copy (Y/N) ? ' TO df
  125.          IF df = 'Y'
  126.             SET PRINT ON
  127.          ENDIF
  128.          
  129.          STORE 99 TO linecount
  130.          STORE  1 TO pagecount
  131.          STORE  0 TO qsled
  132.          STORE  0 TO worked
  133.          
  134.          USE  &oblast
  135.          DO WHILE .not.EOF()
  136.             IF linecount > 60
  137.                IF df = 'Y'
  138.                   EJECT
  139.                ENDIF
  140.                ? 'OBLAST  PRINTOUT',callsign,' PAGE',pagecount
  141.                IF choice = 'Q'
  142.                   ?? ' QSL STATUS'
  143.                ENDIF
  144.                STORE pagecount + 1 TO pagecount
  145.                ?
  146.                ? '              CALL       DATE  TIME BND MODE STATUS'
  147.                ? '---------------------------------------------------'
  148.                STORE  5 TO linecount
  149.             ENDIF
  150.             
  151.             IF choice <> 'T' .and. dstate = ' '
  152.                *
  153.             ELSE
  154.                IF dstate = ' ' .and. choice = 'Q'
  155.                   *
  156.                ELSE
  157.                   ? RECNO(),dcall,ddate,dtime,dband,dmode
  158.                   STORE linecount + 1 TO linecount
  159.                ENDIF
  160.             ENDIF
  161.             IF dstate = 'R'
  162.                IF choice = 'Q'
  163.                ELSE
  164.                   ?? dstate
  165.                ENDIF
  166.                STORE qsled + 1 TO qsled
  167.                STORE worked + 1 TO worked
  168.             ENDIF
  169.             IF dstate = '-'
  170.                STORE worked + 1 TO worked
  171.             ENDIF
  172.             SKIP
  173.          ENDDO
  174.          ?
  175.          ?
  176.          ? worked,' WORKED     ',qsled,'QSL-D'
  177.          ?
  178.          IF df = 'Y'
  179.             EJECT
  180.             SET PRINT OFF
  181.          ENDIF
  182.          WAIT
  183.          RELEASE choice,df,linecount,pagecount,worked,qsled
  184.          USE
  185.       ELSE
  186.          ? 'ERROR OBLAST FILE IS NOT ON DEFAULT DRIVE'
  187.          WAIT
  188.       ENDIF
  189.    ENDCASE
  190. ENDDO
  191. STORE ' ' TO task
  192. RELEASE oblastm
  193. RETURN
  194. * 1.5 use of oblast.dbf locked out.
  195. *: EOF: OBLAST.PRG
  196.